import {
  ElContainer,
  ElHeader,
  ElAside,
  ElMain,
  ElFooter,
  ElRow,
  ElCol,
  ElForm,
  ElFormItem,
  ElInput,
  ElSelect,
  ElOption,
  ElTable,
  ElTableColumn,
  ElCard,
  ElMenu,
  ElMenuItem,
  ElTabs,
  ElTabPane,
} from 'element-plus'
import { ElementDSL } from './ElementDSL'
import Button from './basic/Button'
import Input from './basic/Input'
// 布局组件
export const container = () => new ElementDSL(ElContainer)
export const header = () => new ElementDSL(ElHeader)
export const aside = () => new ElementDSL(ElAside)
export const main = () => new ElementDSL(ElMain)
export const footer = () => new ElementDSL(ElFooter)
export const row = () => new ElementDSL(ElRow)
export const col = () => new ElementDSL(ElCol)

// 表单组件
export const form = () => new ElementDSL(ElForm)
export const formItem = () => new ElementDSL(ElFormItem)
export const select = () => new ElementDSL(ElSelect)
export const option = () => new ElementDSL(ElOption)
export const button = () => new Button()
export const input = () => new Input()

// 数据展示组件
export const table = () => new ElementDSL(ElTable)
export const tableColumn = () => new ElementDSL(ElTableColumn)
export const card = () => new ElementDSL(ElCard)

// 导航组件
export const menu = () => new ElementDSL(ElMenu)
export const menuItem = () => new ElementDSL(ElMenuItem)
export const tabs = () => new ElementDSL(ElTabs)
export const tabPane = () => new ElementDSL(ElTabPane)
